Legend:
* todo
- done
\ extra comments
\// obsolete comments that do not apply

TODO:

*// embed in kernel
 \ see /home/emacs/build/kernel/linuxgit/makepkg/linux-git/src/linux-git/tools/power/cpupower/utils/helpers/cpuid.c
 \ /proc may not be mounted for /proc/cpuinfo
 \ modules may not be available(on the storage: initramfs?) depending on at which point in kernel I wanna load them with init_module
 \// can have both /proc and modules  for fallback if one's not available
 \ must not keep modules loaded
 \ modules must not be built into kernel because this allows other msr activities after boot UNLESS grcsecurity can have that option which denies all such access to msr and stuff.

- reduce code to handle only my specific Z575 laptop CPU (family 0x12 == 18)
  - tested to work
  - remove all commented code
  - remove boost code, it would work but why keep it since we don't intend on using it(ever); esp. since it gets rid of read/write to pci

* then embed in kernel
  \ see /arch/x86/kernel/msr.c
    \ http://lxr.free-electrons.com/source/arch/x86/include/asm/msr.h#L233
    \ vim /home/emacs/build/1packages/kernel/linuxgit/makepkg/linux-git/src/linux-git/arch/x86/kernel/msr.c
  \ also see arch/x86/kernel/cpuid.c  for making sure the cpu is my AMD cpu before applying msr values on it.
    \ vim /home/emacs/build/1packages/kernel/linuxgit/makepkg/linux-git/src/linux-git/arch/x86/kernel/cpuid.c


